//package com.fecean.aabbc.netty.server.prod3;
//
//import io.netty.channel.ChannelHandler;
//import io.netty.channel.ChannelInitializer;
//import io.netty.channel.socket.SocketChannel;
//import io.netty.handler.codec.serialization.ClassResolvers;
//import io.netty.handler.codec.serialization.ObjectDecoder;
//import io.netty.handler.codec.serialization.ObjectEncoder;
//import org.springframework.stereotype.Component;
//
//import javax.annotation.Resource;
//
///**
// ** 通道初始化
// *
// * @author: chenfenghai
// * @version: 1.0
// * @date: 2020-03-10 10:53
// * @blame Team
// */
//@Component
//@ChannelHandler.Sharable
//public class NettyServerChannelInitializer extends ChannelInitializer<SocketChannel> {
//
//    /**
//     ** 注册通道处理服务
//     */
//    @Resource
//    NettyServerRegisterHandler nettyServerRegisterHandler;
//
//    /**
//     ** 心跳通道处理服务
//     */
//    @Resource
//    NettyServerHeartbeatHandler nettyServerHeartbeatHandler;
//
//    /**
//     ** 业务通道通知服务
//     */
//    @Resource
//    NettyServerNoticeHandler nettyServerNoticeHandler;
//
//    /**
//     ** 初始化通道
//     * @param ch SocketChannel
//     */
//    @Override
//    protected void initChannel(SocketChannel ch) {
//        // 添加编码处理服务
//        ch.pipeline().addLast("decoder", new ObjectDecoder(1024*1024, ClassResolvers.weakCachingConcurrentResolver(this.getClass().getClassLoader())));
//        ch.pipeline().addLast("encoder", new ObjectEncoder());
//        // 添加注册通道处理服务
//        ch.pipeline().addLast("registerHandler", nettyServerRegisterHandler);
//        // 添加心跳通道处理服务
//        ch.pipeline().addLast("heartbeatHandler", nettyServerHeartbeatHandler);
//        // 添加通知通道处理服务
//        ch.pipeline().addLast("noticeHandler", nettyServerNoticeHandler);
//    }
//}
